package com.lingyue.entity.module.def.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 问题反馈（主表）
 * </p>
 *
 * @author lizhiyuan
 * @since 2020-03-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("feedback")
@ApiModel(value="FeedbackEntity对象", description="问题反馈（主表）")
public class FeedbackEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "单号")
    @TableId(value = "fdb_id")
    private String id;

    @ApiModelProperty(value = "标题")
    @TableField("fdb_title")
    private String title;

    @ApiModelProperty(value = "经销商编号")
    @TableField("fdb_dealer_id")
    private String dealerId;

    @ApiModelProperty(value = "CPD用户联系方式")
    @TableField("fdb_mobile_phone")
    private String mobilePhone;

    @ApiModelProperty(value = "状态")
    @TableField("fdb_status")
    private String status;

    @ApiModelProperty(value = "问题类型")
    @TableField("fdb_type")
    private String type;

    @ApiModelProperty(value = "问题优先级")
    @TableField("fdb_level")
    private String level;

    @ApiModelProperty(value = "车辆VIN码")
    @TableField("fdb_vin")
    private String vin;

    @ApiModelProperty(value = "问题描述")
    @TableField("fdb_desc")
    private String description;

    @ApiModelProperty(value = "创建时间")
    @TableField("fdb_create_time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "新增人")
    @TableField("fdb_create_user")
    private String createUser;

    @ApiModelProperty(value = "更新时间")
    @TableField("fdb_update_time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "修改人")
    @TableField("fdb_update_user")
    private String updateUser;

    @ApiModelProperty(value = "文件列表")
    @TableField(exist = false)
    private List<FeedbackAttachmentEntity> files;


    public static final String FDB_ID = "fdb_id";

    public static final String FDB_TITLE = "fdb_title";

    public static final String FDB_MOBILE_PHONE = "fdb_mobile_phone";

    public static final String FDB_STATUS = "fdb_status";

    public static final String FDB_TYPE = "fdb_type";

    public static final String FDB_LEVEL = "fdb_level";

    public static final String FDB_VIN = "fdb_vin";

    public static final String FDB_DESC = "fdb_desc";

    public static final String FDB_CREATE_TIME = "fdb_create_time";

    public static final String FDB_CREATE_USER = "fdb_create_user";

    public static final String FDB_UPDATE_TIME = "fdb_update_time";

    public static final String FDB_UPDATE_USER = "fdb_update_user";

}
